<?php

// 使用函数完成期末任务
//
/**
 * 获得指定仓库的提交信息
 * @param  string $url 仓库地址，默认每次200个
 * @return array      以数组形式返回提交的信息
 */

function getCommit($url = 'https://gitee.com/api/v5/repos/yangjh/php2018/commits?page=1&per_page=200') {
    // 初始化curl工具

    $ch = curl_init($url);

    // 进行必要的配置
    curl_setopt($ch, CURLOPT_HEADER, 0);
    // 取消curl显示返回内容
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    // 执行curl
    $data = curl_exec($ch);
    // 对data进行解码，将其从json格式转化为php数组
    $data = json_decode($data, true);

// // var_dump(count($data));
    //  echo '<pre>';
    //  var_dump($data[0]['commit']['commiter']['date']);
    //  foreach ($data as $key => $value) {
    //      var_dump($data[$key]['commit']['commiter']['date']);
    //  }
    //  echo '</pre>';

//  echo '我的仓库总共提交了' . count($data) . '次。';

    curl_close($ch);
    return $data;
}

// 生成作业信息报告
/**
 * 生成作业总报告
 * @param  array $data 全部提交信息
 * @return void
 */
function report(array $data) {
    echo '我的作业地址是：' . '<br>';
    echo '提交次数：' . count($data);
}

// 使用函数输出每周作业提交次数
function getCommitByWeek(array $data) {

// 提取每一次作业的提交时间
    $commitDate = array();
    foreach ($data as $key => $value) {
        $commitDate[$key] = date('Y-m-d', strtotime($data[$key]['commit']['commiter']['date']));
    }
    return $commitDate;
}

// 取得指定仓库的提交信息
$data = getCommit('https://gitee.com/api/v5/repos/yangjh/php2018/commits?page=1&per_page=200');
report($data);
$commitDate = getCommitByWeek($data);
// echo date('Y-m-d', strtotime('2018-05-23T18:03:16+08:00'));
var_dump($commitDate);
?>
